<?php 
@session_start();
if($_POST) {
	include_once('./DbConn.php');
	$MyConn = DbConn::GetDbConn();
	if(!is_null($MyConn)) {
		$MyFields = NULL;
		$MyTable = '';
		switch($_POST['ItemType']) {
			case 'cpu' :
				$MyTable = 'processor';
				$MyFields = array(	'name' => 1,
									'typ' => 2,
									'ilosc_rdzeni' => 3,
									'zlacze' => 4,
									'czestotliwosc_zegara' => 5,
									'technologia' => 6,
									'wydzielana_moc' => 7,
									'L1_cache' => 8,
									'L2_cache' => 9,
									'L3_cache' => 10
								);
				break;
			case 'gpu' :
				$MyTable = 'graphic';
				$MyFields = array(	'name' => 1,
									'producent' => 2,
									'rodzaj_chipsetu' => 3,
									'typ_chipsetu' => 4,
									'typ_zlacza' => 5,
									'RAMDAC' => 6,
									'rodzaj_pamieci' => 7,
									'czestotliwosc_pamieci' => 8,
									'taktowanie_rdzenia' => 9,
									'max_rozdzielczosc_ekranu' => 10
								);
				break;
			case 'hdd' :
				$MyTable = 'disk';
				$MyFields = array(	'name' => 1,
									'kategoria' => 2,
									'pojemnosc' => 3,
									'interfejs' => 4,
									'RPM' => 5,
									'wymiary' => 6,
									'waga' => 7,
									'cache' => 8
							 	);
			 	break;
			case 'mnb' :
				$MyTable = 'motherboard';
				$MyFields = array(	'name' => 1,
									'rodzaj_slotu' => 2,
									'typ_procesora' => 3,
									'standard' => 4,
									'chipset' => 5,
									'typ_chipsetu' => 6,
									'rodzaj_pamieci' => 7,
									'max_pamiec' => 8,
									'ilosc_gniazd_pamieci' => 9,
									'f_uklad_raid' => 10
								);
				break;
			case 'ram' :
				$MyTable = 'memory';
				$MyFields = array(	'name' => 1,
									'rodzaj' => 2,
									'pojemnosc' => 3,
									'taktowanie' => 4,
									'napiecie' => 5,
									'ilosc_pin' => 6
								);
				break;
			default:
				$_SESSION['Error'] = 'Aktualizacja danych sprzętu nieudana.';
				break;
		}
		
		if(!($MyFields==NULL)) {
			$MySql = '';
			if($_POST['ActionType'] == 'new') {
				$MySql = 'INSERT INTO ' . $MyTable . '(';
				foreach ($MyFields as $MyText => $MyValue) {
					$MySql = $MySql . $MyText . ', ';
				}
				$MySql = substr($MySql, 0, -2); //usunięcie ostatniego przecinka
				$MySql = $MySql . ") VALUES ("; 
				foreach ($MyFields as $MyText => $MyValue) {
					$MyBeg = '\'';
					$MyEnd = '\', ';
					if(($_POST['ItemType']=='mnb' && ($MyValue == 9 || $MyValue == 10)) || ($_POST['ItemType']=='cpu' && $MyValue == 3)) {
						$MyBeg = '';
						$MyEnd = ', ';
					}
					$MySql = $MySql . $MyBeg . addslashes($_POST[$_POST['ItemType'] . $MyValue]) . $MyEnd;
				}
				$MySql = substr($MySql, 0, -2); //usunięcie ostatniego przecinka
				$MySql = $MySql . ")";
			} 
			elseif($_POST['ActionType'] == 'edit') {
				$MySql = 'UPDATE ' . $MyTable . ' SET ';
				foreach ($MyFields as $MyText => $MyValue) {
					$MyBeg = '=\'';
					$MyEnd = '\', ';
					if(($_POST['ItemType']=='mnb' && ($MyValue == 9 || $MyValue == 10)) || ($_POST['ItemType']=='cpu' && $MyValue == 3)) {
						$MyBeg = '=';
						$MyEnd = ', ';
					}
					$MySql = $MySql . $MyText . $MyBeg . addslashes($_POST[$_POST['ItemType'] . $MyValue]) . $MyEnd;
				}
				$MySql = substr($MySql, 0, -2); //usunięcie ostatniego przecinka
				$MySql = $MySql . ' WHERE ' . $MyTable . '_id=' . $_POST['ItemId'];	
			}
			
			$MyRes = $MyConn->query($MySql);
			
			if($MyRes)
				$_SESSION['HardwareMng'] = 'Dane sprzętu dodane/zaktualizowane poprawnie.';
			else
				$_SESSION['Error'] = 'Dodanie/aktualizacja danych sprzętu nieudana.';
		}
		else
			$_SESSION['Error'] = 'Dodanie/aktualizacja danych sprzętu nieudana.';
	}
	else
		$_SESSION['Error'] = 'Dodanie/aktualizacja danych sprzętu nieudana.';
}
else {
	$_SESSION['Error'] = 'Dodanie/aktualizacja danych sprzętu nieudana.';
}
if(isset($_POST['ActionType']) && $_POST['ActionType'] == 'new') {
	header('Location:../hardware.php?type=' . $_POST['ItemType']);
} else {
	header('Location:' . $_SERVER['HTTP_REFERER']);	
}
?>